home *** CD-ROM | disk | FTP | other *** search
/ c't freeware shareware 1999 February / CT_SW9902.ISO / mac / software / wissen / daten / gnuplot.hqx / gnuplot.2.0b4 / Interapplication / C Examples / wackyconsole.c < prev    next >
C/C++ Source or Header  |  1997-09-15  |  1KB  |  52 lines

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <SIOUX.h>
  5. #include "gnuplotInterface.h"
  6.  
  7. char gnuplotSays[4096] = "";
  8. char inputStr[1024] = "";
  9.  
  10. void FlipLineEndings(char *str);
  11.  
  12. void main(void)
  13. {
  14.     int keepGoing = 1;
  15.     int success;
  16.     SIOUXSettings.asktosaveonclose = false;
  17.     
  18.     puts("This is the wacky console..."); /* This line intitializes the mac */
  19.     success = GnuplotLaunchApplication();
  20.     if (success == 0)
  21.         fputs("gnuplot successfully launched!\ngnuplot> ", stderr);
  22.     else {
  23.         fputs("unable to launch gnuplot\n", stderr);
  24.         return;
  25.     }
  26.     GnuplotExecuteCommand(" \n", 2, gnuplotSays, 4095);
  27.     while (keepGoing) {
  28.         fgets(inputStr, 1024, stdin);
  29.         keepGoing = strcmp(inputStr, "quit\n") && strcmp(inputStr, "exit\n");
  30.         /* Don't send the "quit" command via ...ExecuteCommand because we will have to
  31.            wait for the AE timeout. We really don't want to do that. */
  32.         if (keepGoing) {
  33.             GnuplotExecuteCommand(inputStr, strlen(inputStr), gnuplotSays, 4095);
  34.             FlipLineEndings(gnuplotSays);
  35.             fputs(gnuplotSays, stdout);
  36.         }
  37.         else
  38.             GnuplotQuitApplication();
  39.     }
  40.     fputs("Goodbye!", stderr);
  41.     return;
  42. }
  43.  
  44. void FlipLineEndings(char *str)
  45. {
  46.     while (*str) {
  47.         if (*str == '\r')
  48.             *str = '\n';
  49.         str++;
  50.     }
  51. }
  52.